<?php
// 加载 工具
require_once( './DBUtil.php' );
// 商品添加服务
$name = $_REQUEST["name"];
$info = $_REQUEST["info"];
$price = $_REQUEST["price"];
$unit = $_REQUEST["unit"];
// 获取图片
$image = $_FILES["image"];

// 判断文件是否上传成功
if($image["error"] != 0){
    header("location:/wbs20052/shop/showProductAdd.php?msg=文件传输失败");
    return;
}

// 图片保存
$realPath = "E:/phpwork";// 保存的位置
// 防止 文件名有中文，只取后缀
$suffix = substr($image["name"], strpos($image["name"], "."));
$relativePath = "/wbs20052/shop/images/" . time() . rand(1000, 9999) . $suffix;
move_uploaded_file($image["tmp_name"], $realPath . $relativePath);

$conn = getConn();
// 商品名称重复验证
$checkSql = "select p_name from t_product where p_name = '$name'";
$proArr = query($conn, $checkSql);
if($proArr){
    // $proArr 数组中有数据, 即表示 当前的 商品名称已重复
    header("location:/wbs20052/shop/showProductAdd.php?msg=商品名称已重复");
    return;
}

// 开启事务
mysqli_query($conn, "begin");
$sql = "insert into t_product ".
" (p_name,p_info,p_price,p_unit,p_image_url) ".
" values ".
" ('$name','$info', $price, '$unit', '$relativePath') ";

$result = update($conn, $sql);
if(!$result){
    mysqli_query($conn, "rollback");
    // 添加失败
    header("location:/wbs20052/shop/showProductAdd.php?msg=". mysqli_error($conn));
    return;
}
// 获取商品的主键
$pid = mysqli_insert_id($conn);

// 执行 商品详情图片的 添加 操作
$index = 1;
$detail = $_FILES["detail$index"];
$order = $_REQUEST["order$index"];
// 有对象, 文件上传状态是 正确的
while($detail && $detail["error"] == 0){
    // 图片保存操作
    $suffix = substr($detail["name"], strpos($detail["name"], "."));
    $relativePath = "/wbs20052/shop/images/" . time() . rand(1000, 9999) . $suffix;
    move_uploaded_file($detail["tmp_name"], $realPath . $relativePath);

    $detailSql = "insert into t_product_image ".
    " (m_image_url, m_order, p_id) ".
    " values ".
    " ('$relativePath', $order, $pid) ";
    $result = update($conn, $detailSql);
    if(!$result){
        mysqli_query($conn, "rollback");
        // 添加 商品详情图片 失败
        header("location:/wbs20052/shop/showProductAdd.php?msg=". mysqli_error($conn));
        return;
    }
    $index++;
    // 取下一个
    $detail = $_FILES["detail$index"];
    $order = $_REQUEST["order$index"];
}

// 全部添加成功后, 提交
mysqli_query($conn, "commit");

// 添加成功, 回到商品管理页面
header("location:/wbs20052/shop/productManage.php");

?>